]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
UnlockDialog: reset UI on verification failure
authorGiovanni Campagna <gcampagna@src.gnome.org>
Wed, 3 Oct 2012 21:15:41 +0000 (23:15 +0200)
committerGiovanni Campagna <gcampagna@src.gnome.org>
Sun, 14 Oct 2012 16:48:13 +0000 (18:48 +0200)
When failing verification, reset the UI to the default pre-password
request state, waiting for the next prompt.

https://bugzilla.gnome.org/show_bug.cgi?id=685441

js/ui/unlockDialog.js

index 5ee43871cd95895fe64c62122c0106d3d0c9db2f..7b3018265919574a765f07d2e3999be16c413156 100644 (file)
@@ -128,6 +128,7 @@ const UnlockDialog = new Lang.Class({
         this._userVerifier.connect('ask-question', Lang.bind(this, this._onAskQuestion));
         this._userVerifier.connect('show-message', Lang.bind(this, this._showMessage));
         this._userVerifier.connect('verification-complete', Lang.bind(this, this._onVerificationComplete));
+        this._userVerifier.connect('verification-failed', Lang.bind(this, this._onVerificationFailed));
         this._userVerifier.connect('reset', Lang.bind(this, this._onReset));
 
         this._userVerifier.connect('show-login-hint', Lang.bind(this, this._showLoginHint));
@@ -274,6 +275,16 @@ const UnlockDialog = new Lang.Class({
         this.emit('failed');
     },
 
+    _onVerificationFailed: function() {
+        this._currentQuery = null;
+        this._firstQuestion = true;
+
+        this._promptEntry.clutter_text.set_password_char('\u25cf');
+        this._promptEntry.menu.isPassword = true;
+
+        this._updateSensitivity(false);
+    },
+
     _escape: function() {
         this._userVerifier.cancel();
         this.emit('failed');